home *** CD-ROM | disk | FTP | other *** search
- #!/bin/sh
- # @(#) genstatic 1.4 92/08/31 @(#)
- # generate the static hosttable from database files
- # called from updatehosts
- #
- # files used
- # hosts.local
- # hosts.main
- # hosts.cname
-
- # Copyright (c) 1992 by Texas Internet Consulting
- # This code may be freely copied and used so long as this
- # copyright notice is attached. This code may not be sold
- # without the express written permission of Texas Internet Consulting.
- # Texas Internet Consulting makes no warranty as to the correctness
- # nor the applicability of this code for any purpose.
-
- # this cannot be /etc/hosts
- HOSTS=hosts.static
- SERIAL=serial
- PATH=.:$PATH
-
- # put the serial number of this table as the first line
- serial=`cat $SERIAL`
- echo "# $serial" >$HOSTS
-
- # extract host name and IP address from hosts.main
- readinfo ip host <hosts.main | awk '
- {
- # split up the domain name
- n = split($2, domain, ".")
- printf("%s %s %s\n", $1, $2, domain[1])
- }' >>$HOSTS
-
- # build edit script for aliases
- readinfo host alias <hosts.cname | awk '
- {
- # extract simple alias name from domain name
- n = split($2, alias, ".")
- # split up the domain name
- n = split($1, domain, ".")
- # build the edit command for this line
- # will look like /<domain>/s/$/<alias> <alias.domain>/
- edcmd = "/" domain[1]
- # replace "." with "\."
- for (i=2; i<=n; i++) {
- edcmd = edcmd "\\." domain[i]
- }
- edcmd = edcmd "/s/$/ " $2 " " alias[1] "/"
- print edcmd
- }
- END {
- print "w"
- print "q"
- }' | ed >/dev/null 2>&1 $HOSTS
-